package practice3;

import java.util.*;

/**
 * 1、如果字符串长度不能等分，直接返回false;
 * 2、将字符串等分后，遍历每个子字符串，修改子字符串不同的位置，修改为所有字串中当前位置，存的最多的那个字母
 */
public class P8739 {

    private static int[] arr = new int[26];

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        char[] str = sc.next().toCharArray();
        int len = str.length;
        if(len%k!=0){
            System.out.println(-1);
            return;
        }
        int t = len/k;
        int ans=0;
        for(int i=0;i<k;i++){
            Arrays.fill(arr,0);
            for(int j=0;j<t;j++){
                char ch = str[i + j * k];
                arr[ch - 97]++;
            }
            int max = 0;
            for(int j=0;j<26;j++){
                if(arr[j]>max){
                    max=arr[j];
                }
            }
            ans+=t-max;
        }
        System.out.println(ans);
    }





//    private static int getCommonCharNumber(String str1,String str2){
//        int count=0;
//        for(int i=0;i<str1.length();i++){
//            if(str1.charAt(i)==str2.charAt(i)){
//                count++;
//            }
//        }
//        return count;
//    }
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int k =sc.nextInt();
//        String str = sc.next();
//        if(str.length()%k!=0){
//            System.out.println(-1);
//            return;
//        }
//        //已k为长度划分字符串，寻找出出现次数最多的字串
//        Map<String,Integer> map = new HashMap<>();      //key为分割的字符串,值为该字符串与其他字符串相比出现重复字符的个数
//        for(int i=0;i<str.length()/k;i++){
//            String sub = str.substring(i * k, (i + 1) * k);
//            map.put(sub,0);
//        }
//        for(int i=0;i<str.length()/k;i++){
//            for(int j=0;j<str.length()/k;j++){
//                String sub1 = str.substring(i * k, (i + 1) * k);
//                String sub2 = str.substring(j * k, (j + 1) * k);
//                int num = getCommonCharNumber(sub1, sub2);
//                map.put(sub1,map.get(sub1)+num);
//            }
//        }
//        Set<String> keySet = map.keySet();
//        int max=0;
//        String toStr = null;
//        for(String key:keySet){
//            if(map.get(key)>max){
//                max=map.get(key);
//                toStr=key;
//            }
//        }
//        int ans=0;
//        for(int i=0;i<str.length()/k;i++){
//            String subStr = str.substring(i * k, (i + 1) * k);
//            for(int j=0;j<k;j++){
//                if(subStr.charAt(j) != toStr.charAt(j)){
//                    ans++;
//                }
//            }
//        }
//        System.out.println(ans);
//    }
}
